﻿using System;
using System.Collections.Generic;

namespace Morus.Infrastructure
{
    public interface IStorage<T> : IUnitOfWork, IDisposable
        where T : class, new()
    {
        void Store(T target);

        void Destory(ISpecification<T> specification);

        T Retrieve();

        IEnumerable<T> Retrieve(ISpecification<T> specification);
    }
}
